﻿namespace WyUnity.Data
{
	/// <summary>
	/// 代表一个数据模型
	/// </summary>
	public interface IDataModel
	{
		object Id { get; }
		string ToDisplayString();
	}
	/// <summary>
	/// 数据模型的泛型接口
	/// </summary>
	public interface IDataModel<T> : IDataModel
	{
		new T Id { get; }
	}

	/// <summary>
	/// 代表一个空的数据模型
	/// </summary>
	public sealed class EmptyModel<T> : IDataModel<T>, IDataModel
	{
		object IDataModel.Id
		{
			get { return this.Id; }
		}

		public string ToDisplayString()
		{
			return string.Empty;
		}

		public T Id
		{
			get { return default(T); }
		}
	}
}
